草庐IT

windows - iPad 和 Windows 上的 Safari

全部标签

javascript - 如何在 window.location.href 中指定要下载的 csv 文件名

我正在使用javascript将数据导出到csv。出于某种原因,我不允许使用传统的设置文件名。我有以下代码行:window.location.href="data:text/csv;base64,"+csvdata我在哪里以及如何插入并指定文件名和扩展名以使其工作? 最佳答案 那是不可能的,尝试模拟像这样点击它:varcsvdata="HelloWorld";//onlyfortestvarbyteNumbers=newUint8Array(csvdata.length); for(vari=0;ielement varlink

javascript - 使用 Protractor 获取按钮上的禁用属性不起作用

我试图在一个按钮上获取禁用属性,它应该被“禁用”,但我似乎没有得到值。Angular和Protractor的新手!当我检查页面时,这是我得到的显示已禁用按钮的HTML,就像它在页面上一样:Save下面的Protractor测试返回'Expectednulltoequaldisabled'varbtnSave=element(by.css('.primary'));expect(btnSave.isPresent()).toBeTruthy();varattr=element(by.css('.primary')).getAttribute('disabled');expect(attr

javascript - 取消 componentWillUnmount 上的 mobx 自动运行功能

我的componentDidMount中有以下自动运行功能:componentDidMount(){this.autoUpdate=autorun(()=>{this.setState({rows:generateRows(this.props.data)})})}问题是另一个组件在组件未安装时更改了this.props.data-因此我在未安装的组件上收到.setState警告。所以我想在组件卸载后删除自动运行。我试过:componentWillUnmount(){this.autoUpdate=null}但自动运行功能仍然触发。一旦不再安装组件,有没有办法取消mobx自动运行?

javascript - Window.matchmedia 监听器触发两次

我正在尝试编写一些javascript,它会在某些浏览器断点处更改JS配置对象中保存的一些值。我已将window.matchmedia测试存储在配置对象中,然后循环遍历该对象的键以向每个测试添加一个事件监听器,如下所示:Object.keys(config.mediaQueries).map((key)=>{config.mediaQueries[key].addListener(function(){console.log("breakpointchange");});});https://codepen.io/decodedcreative/pen/YQpNVO然而,当浏览器调整大

javascript - mobx 的 `action.bound` 和箭头函数在类函数上的区别?

在带有babel的类上使用箭头函数对其进行转换,因此定义绑定(bind)在构造函数中。因此它不在原型(prototype)中,并且在继承时无法通过super获得。通过创建许多实例进行扩展时,它的效率也不高。关于这个主题的博客文章很多,但我只是想知道在使用babel时与箭头函数相比,mobx.action.bound的处理方式有何不同。两者比较:classExample{test=()=>{console.log(this.message)}}classExample{@action.boundtest(){console.log(this.message)}}

javascript - Edge/Safari 是否对 Indexeddb 大小有限制?

目前正在研究各种浏览器的indexeddb限制。发现Chrome没有硬性限制,但需要授予权限(Source),Firefox是本地存储的50%(Source)但找不到适用于Edge或Safari的任何内容。我试验了Edge,发现它没有IE设置的限制:每个域500MB(Source)不幸的是navigator.storage.estimate()在Edge上不起作用https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate有没有人有这方面的Edge或Safari经验? 最佳答

javascript - raphaeljs 的 Mobile Safari SVG 渲染问题

我正在使用raphael制作动画交互式图表我需要在iPhone上正常工作。我遇到了2个小的渲染问题。首先,无论何时单击附加有单击处理程序的svg元素,移动版Safari都会在其周围绘制一个透明的灰色框以指示单击的内容。这与您单击超链接时所做的相同。在这种情况下,灰色框非常难看。是否有任何css属性告诉移动safari不要这样做?第二个问题是动画。对于任何动画的持续时间,移动版safari都会向svgCanvas添加丑陋的黑色边框。它仅在动画进行时可见,并且仅在Canvas的底部和右边缘可见。知道如何解决这个问题吗?这是使用raphael页面上的一个演示的复制和粘贴拍摄的,只有白色背景。

javascript - 字符串上的多个正则表达式

如何将多个正则表达式应用于单个字符串?例如,用户在文本区域中输入以下内容:redbirdbluecatblackdog我想用逗号替换每个回车符,用下划线替换每个空格,这样最终的字符串就变成了red_bird,blue_cat,black_dog。到目前为止,我已经尝试了以下语法的变体:functionformatTextArea(){vartextString=document.getElementById('userinput').value;varformatText=textString.replace(newRegExp("\\n","g"),",",newRegExp("\\

javascript - 我可以在 'window' 以外的上下文中加载 javascript 文件吗?

我尝试加载一些外部.js文件,并且有一些无法解决的命名空间冲突。我想以某种方式在它们自己的上下文中加载一些文件,将“this”从指向窗口对象替换为某个自定义命名空间。例子:首先.js:name="first";second.js:name="second";在我看来,这种技巧非常有用。有可能吗?编辑似乎替换“this”并不能解决问题,因为它不是javascript中标识符解析的默认上下文。这是我的测试代码:varfirst={};varsecond={};(function(){name="first";}).call(first);(function(){name="second";

Javascript 库或 jquery 插件,用于在移动 safari/ipad 中创建基于滑动的轮播

你看过yahoo的ipad/tablet主页吗?浏览标题的滑动效果令人印象深刻。我在jquery中看到了一些解决方法(使用循环插件+touchwipe插件),但这些都只是检测用户手势然后运行​​x-绝对位置动画,而不是实际跟踪用户的手势。知道类似于雅虎的解决方案吗? 最佳答案 找到解决方案:http://cubiq.org/iscroll-4使用“对齐”选项重新创建轮播效果。 关于Javascript库或jquery插件,用于在移动safari/ipad中创建基于滑动的轮播,我们在Sta